﻿using BPMN.Domain;
using BPMN.Domain.Entity.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BPMN.DomianShare;
using System.Threading.Tasks;
using BPMN.Application.Contracts.DTO.Request.UserInfo;
using BPMN.Application.Contracts.DTO.Request.Role;
using BPMN.Application.Contracts.DTO.Response.Permission;
using BPMN.Application.Contracts.DTO.Response;
using BPMN.Application.Contracts.DTO.Request.Menu;
using BPMN.Application.Contracts.DTO.Request.Menu.Permission;

namespace BPMN.Application.IService
{
    public interface IPermissionAppService : IAppServiceBase<Permission>, IScoped
    {
        Task<ResultResponseDto<int>> AddPermission(PermissionRequstDto entity);
        Task<ResultResponseDto<int>> UpdatePermission(PermissionRequstDto entity);
        Task<ResultResponseDto<List<TreeDtoResponse>>> GetPermission();
        Task<ResultResponseDto<PermissionShowResponseDto>> GetPermissionById(int Id);
        Task<ResultResponseDto<List<PermissionShowResponseDto>>> GetPermissionMax();
        Task<ResultResponseDto<int>> DelPer(int Id);




    }
}
